const dataKit = require( "./dataKit")
/**
 * 注意：使用await的方法必须加上async，不然会报错！！
 */
module.exports = {
   /**
    * 根据名称获取商户
    * @param {*} userNick 
    */
   async getMerchantByNickname(context,userNick){
      if(!userNick){
         console.info("getMerchantByNickname--->nickname是必须的");
         return null;
      }
      //过滤条件
      const filter = {userNick: userNick};
      let merchant =await dataKit.findOne(context,"merchant_info",filter);
      return merchant;
   },
   /**
    * 获取商户的AccessToken
    * @param {*} openId 商户的openid
    */
   async getMerchantAccessToken(context,openId){
      const merchant =await this.getMerchantByOpenId(context,openId);
      return merchant.accessToken;
   },
    /**
    * 根据openId获取商户
    * @param {*} openId 
    */
   async getMerchantByOpenId(context,openId){
      if(!openId){
         console.info("getMerchantByOpenId --> openId是必须的");
         return null;
      }
      //过滤条件
      const filter = {openId: openId};
      let merchant =await dataKit.findOne(context,"merchant_info",filter);
      return merchant;
   },
   /**
    * 商品列表
    * @param {*} context 
    * @param {*} openId 商户的openid
    * @param {*} cid 类目id
    */
   async getProductList(context,openId){
      const accessToken =await this.getMerchantAccessToken(context,openId);
      const result = await context.cloud.topApi.invoke({  
        api: 'taobao.items.onsale.get',  
        autoSession: false,
        data:{
           session:accessToken,
           fields:"num_iid,title,cid,price,pic_url",
           page_size:200
        }  
      });
      return result;
   }
}
